Olaf and I Attempt to split the 'release' Makefile target to be more manageable
authorrobertl <robertl>
Sat, 1 Jul 2006 21:51:25 +0000 (21:51 +0000)
committerrobertl <robertl>
Sat, 1 Jul 2006 21:51:25 +0000 (21:51 +0000)
and build everything that needs building.

Makefile.in
xmldoc/chapters/build.xml

index e1f34ce123d3163c57aac2830401b7ecff7acda8..eabcae40c8058ec30df8b181d5fd31104bfaa509 100644 (file)
@@ -3,13 +3,13 @@ VPATH = @srcdir@
 VERSU=1_2_8
 VERSD=1.2.8
 # YYYYMMDD, please, if beta.
-RELEASE=-beta20060605
+RELEASE=-beta20060701a
 VERSIONU=$(VERSU)$(RELEASE)
 VERSIOND=$(VERSD)$(RELEASE)
 DOCVERSION=development
 
-# VERSIONU=1_2_7
-# VERSIOND=1.2.7
+CC=@CC@
+EXEEXT=@EXEEXT@
 
 #EXTRA_LIBS -lefence
 
@@ -28,6 +28,7 @@ DEBUGGING=-g $(EXTRA_DEBUGGING)
 # add -DDEBUG_MEM to turn on memory allocation logging
 GBCFLAGS=$(EXTRA_CFLAGS) $(DEBUGGING) -I. -I@srcdir@/coldsync \
        $(OPTIMIZATION) @CFLAGS@
+LDFLAGS=$(EXTRA_LDFLAGS) @LDFLAGS@
 INSTALL_TARGETDIR=/usr/local/
 
 # OTHER_ROOT=/opt/local        # For DarwinPorts on OSX
@@ -75,7 +76,7 @@ LIBOBJS = queue.o route.o waypt.o filter_vecs.o util.o vecs.o mkshort.o \
 OBJS = main.o globals.o $(LIBOBJS)
 
 .c.o:
-       @CC@  @CPPFLAGS@ -c $(GBCFLAGS) $< $(OUTPUT_SWITCH)$@
+       $(CC)  @CPPFLAGS@ -c $(GBCFLAGS) $< $(OUTPUT_SWITCH)$@
 
 
 
@@ -83,19 +84,19 @@ OBJS = main.o globals.o $(LIBOBJS)
 WEB=../babelweb/
 
 
-all: gpsbabel@EXEEXT@
+all: gpsbabel$(EXEEXT)
 
-gpsbabel@EXEEXT@: $(OBJS)
-       @CC@  $(CFLAGS) $(OBJS) @LIBS@ @EXPAT_LIB@ @USB_LIBS@ $(OUTPUT_SWITCH)$@
+gpsbabel$(EXEEXT): $(OBJS)
+       $(CC)  $(CFLAGS) $(LDFLAGS) $(OBJS) @LIBS@ @EXPAT_LIB@ @USB_LIBS@ $(OUTPUT_SWITCH)$@
 
 Makefile: Makefile.in config.status
        CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status 
 
 globals.o:
-       @CC@  @CPPFLAGS@ -c $(GBCFLAGS) -DVERSION=\"$(VERSIOND)\" $< $(OUTPUT_SWITCH)$@
+       $(CC)  @CPPFLAGS@ -c $(GBCFLAGS) -DVERSION=\"$(VERSIOND)\" $< $(OUTPUT_SWITCH)$@
 
 jeeps/gpslibusb.o: 
-       @CC@  @CPPFLAGS@ -c $(GBCFLAGS) @USB_CFLAGS@ @srcdir@/jeeps/gpslibusb.c $(OUTPUT_SWITCH)$@
+       $(CC)  @CPPFLAGS@ -c $(GBCFLAGS) @USB_CFLAGS@ @srcdir@/jeeps/gpslibusb.c $(OUTPUT_SWITCH)$@
 
 clean:
        rm -f $(OBJS) gpsbabel gpsbabel.exe
@@ -137,7 +138,7 @@ $(WEB)/htmldoc-$(DOCVERSION)/readme.html: FORCE
         xmldoc/readme.xml
        tools/mkcapabilities
 
-gpsbabel-onepage.html: FORCE
+gpsbabel.html: FORCE
        xsltproc \
          --stringparam toc.section.depth "1" \
          --stringparam html.stylesheet \
@@ -145,28 +146,58 @@ gpsbabel-onepage.html: FORCE
          http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl \
        xmldoc/readme.xml > $@ || rm $@
 
+readme.txt: gpsbabel.html
+       lynx -nolist -dump gpsbabel.html  > $@
 
-readme.txt: readme.html
-       lynx -nolist -dump readme.html  > $@
-
-doc: $(WEB)/htmldoc-$(DOCVERSION)/readme.html # readme.txt
+doc: gpsbabel $(WEB)/htmldoc-$(DOCVERSION)/readme.html # readme.txt
 
 FORCE:
 
-release: 
+# file list for windows package
+WINFILES = gpsbabel.exe mingw/libexpat.dll win32/GPSBabelGUI.exe win32/gui-2/README.gui \
+           README* AUTHORS COPYING gpsbabel.html
+
+#
+# Do administrative-y things to the tree.  Verify that everything is checked
+# in and tagged.
+#
+release-sourcecheck:
        cvs commit
        ./chkdoc
-       make clean &&  cd mingw ; make clean 
+       make clean
        rm -fr gpsbabel-$(VERSIOND)
+       make gpsbabel doc gpsbabel.html
        cvs tag -F gpsbabel_$(VERSIONU)
        cvs export -r gpsbabel_$(VERSIONU) -d gpsbabel-$(VERSIOND) gpsbabel
-       tar czf /tmp/gpsbabel-$(VERSIOND).tar.gz gpsbabel-$(VERSIOND)
-       cd /tmp ; tar xzf gpsbabel-$(VERSIOND).tar.gz
+
+#
+# Build the release tarball from the exported CVS tree, tweaking 
+# timestamps and including generated filess as needed.
+#
+release-tarball: gpsbabel.html
+#      rm -fr /tmp/gpsbabel-$(VERSIOND)
        touch /tmp/gpsbabel-$(VERSIOND)/internal_styles.c
-       cd /tmp/gpsbabel-$(VERSIOND)/mingw ; make
+       cp -ap gpsbabel.html /tmp/gpsbabel-$(VERSIOND)/
+       tar czf /tmp/gpsbabel-$(VERSIOND).tar.gz gpsbabel-$(VERSIOND)
+#      cd /tmp ; tar xzf gpsbabel-$(VERSIOND).tar.gz
+
+
+#
+# The Windows executables are cross compiled from the exported CVS image.
+# Do the build of that here  and make a zip file for distribution.
+#
+release-winbuild:
+       cd /tmp/gpsbabel-$(VERSIOND) ; \
+         LDFLAGS="-s" ./configure --target=i386-pc-mingw32 --with-cet=all && make mingw32-cross-build ; \
+         zip -j /tmp/gpsbabel-$(VERSIOND).zip $(WINFILES)
+
+release-upload:
+       @(. tools/functions && ask "Type yes if you want to do the upload now" "yes" )
        curl -u anonymous:anonymous --upload-file /tmp/gpsbabel-$(VERSIOND).tar.gz ftp://upload.sf.net/incoming/
        curl -u anonymous:anonymous --upload-file /tmp/gpsbabel-$(VERSIOND).zip ftp://upload.sf.net/incoming/
 
+release: release-sourcecheck  release-tarball release-winbuild release-upload
+
 rpm: clean
        tools/mkrpm $(VERSD) $(RELEASE)
 
@@ -186,6 +217,13 @@ msvc-build:
        echo $(OBJS) > objs.lst
        LINK.EXE /NOLOGO @objs.lst ./msvc/expat/libexpat.lib /out:gpsbabel.exe 
 
+# under linux: ./configure --target=i386-pc-mingw32 && make mingw32-cross-build
+mingw32-cross-build: 
+       make \
+         CC=/usr/local/bin/i386-mingw32-gcc \
+         EXEEXT=.exe \
+         EXTRA_LDFLAGS="-Lmingw/lib -Imingw/include " 
+
 # Machine generated from here down. 
 an1.o: an1.c defs.h config.h queue.h gbtypes.h cet.h cet_util.h inifile.h \
   an1sym.h
index 9f66d143924291c1d77945af8d60b1d39d0239e8..704577195933f3e36dbdfd615734e9a0d829d89e 100644 (file)
@@ -1,4 +1,3 @@
-<?xml version="1.0"?>
 <chapter id="Getting_and_Building">
   <title>Getting it and Building it</title>
   <para>